home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 6 / FM Towns Free Software Collection 6.iso / data / dora102f / doraedit.plp < prev    next >
Text File  |  1993-07-08  |  21KB  |  789 lines

  1. /************************************************************************
  2. *    共通ルーチン                            *
  3. *************************************************************************/
  4. /*    ファイル名にワイルドカード(*,?)が含まれるかチェックする    */
  5. %wild    {
  6.     [file1]
  7.     case    (@nochar(file1)==0,
  8.         {Yes},{im({No})},
  9.         {No},
  10.         {
  11.         case    (@getchar(file1,1,1),
  12.             {*},{im({Yes})},
  13.             {?},{im({Yes})},
  14.             ,{im(@wild(@getchar(file1,2)))}
  15.             )})};
  16. /*    入力ファイル選択(ワイルドカード不可)    */
  17. %FILEsel0{
  18.     [MSG,TYP]
  19.     SNDMSG({erande_f.snd});
  20.     footnote(MSG);
  21.     case    (TYP={},
  22.         {Yes},{OLDFILE:=@filesel},
  23.         {No},{OLDFILE:=@filesel(TYP)}
  24.         );
  25.     case    (OLDFILE={},
  26.         {Yes},{im({})},
  27.         {No},{
  28.         case    (@wild(OLDFILE),
  29.             {Yes},{
  30.             display({ワイルドカード指定はできません\n});
  31.             FILEsel0(MSG,TYP);
  32.             },
  33.             {No},{
  34.             case    (@nochar(@getcdir)==3,
  35.                 {Yes},{OLDFILE:=@getcdir|OLDFILE},
  36.                 {No},{OLDFILE:=@getcdir|{\}|OLDFILE});
  37.             case    (@filechk(OLDFILE),
  38.                 {No},{
  39.                 SNDMSG({okasi_f.snd});
  40.                 display(OLDFILE|{がありません\n});
  41.                 FILEsel0(MSG,TYP);
  42.                 },
  43.                 {Yes},{im(OLDFILE)}
  44.                 )})})};
  45. /*    入力ファイル選択(ワイルドカード可)    */
  46. %FILEsel1{
  47.     [MSG,TYP]
  48.     SNDMSG({erande_f.snd});
  49.     footnote(MSG);
  50.     case    (TYP={},
  51.         {Yes},{OLDFILE:=@filesel},
  52.         {No},{OLDFILE:=@filesel(TYP)}
  53.         );
  54.     case    (OLDFILE={},
  55.         {Yes},{im({})},
  56.         {No},{
  57.         case    (@wild(OLDFILE),
  58.             {Yes},{
  59.             case    (@nochar(@getcdir)==3,
  60.                 {Yes},{OLDFILE:=@getcdir|OLDFILE},
  61.                 {No},{OLDFILE:=@getcdir|{\}|OLDFILE});
  62.             im(OLDFILE);
  63.             },
  64.             {No},{
  65.             case    (@nochar(@getcdir)==3,
  66.                 {Yes},{OLDFILE:=@getcdir|OLDFILE},
  67.                 {No},{OLDFILE:=@getcdir|{\}|OLDFILE});
  68.             case    (@filechk(OLDFILE),
  69.                 {No},{
  70.                 SNDMSG({okasi_f.snd});
  71.                 display(OLDFILE|{がありません\n});
  72.                 FILEsel1(MSG,TYP);
  73.                 },
  74.                 {Yes},{im(OLDFILE)}
  75.                 )})})};
  76. /*    ファイル基本操作    */
  77. /*    ファイル表示    */
  78. %DISPLAY{
  79.     loop    ({
  80.         case    (@FILEsel0({表示するファイルを指定して下さい},)={},
  81.             {Yes},{im({No})},
  82.             {No},
  83.             {
  84.             footnote({ファイル表示  }|OLDFILE);
  85.             command({type }|OLDFILE|{|more});
  86.             loop    ({
  87.                 footnote({終了},{b});waitx();
  88.                 case(@xtype,101,{im({No})},201,{im({No})},
  89.                     ,{im({Yes})});
  90.                 });
  91.             im({Yes});
  92.             });});};
  93. /*    ファイル複写    */
  94. %COPY    {
  95.     %FILEsel2{
  96.         SNDMSG({erande_f.snd});
  97.         footnote({複写先のファイルを指定して下さい  複写元=}|OLDFILE);
  98.         NEWFILE:=@filesel;NEWDIR:=@getcdir;
  99.         case(@nochar(NEWDIR)==3,{No},{NEWDIR:=NEWDIR|{\}});
  100.         case(@wild(OLDFILE),{Yes},{NEWFILE:={*.*}});
  101.         case(NEWFILE={},{Yes},{NEWFILE:={*.*}});
  102.         NEWFILE:=NEWDIR|NEWFILE;
  103.         };
  104.  
  105.     loop    ({
  106.         case(@FILEsel1({複写元のファイルを指定して下さい},)={},
  107.             {Yes},{im({No})},
  108.             {No},
  109.             {
  110.             FILEsel2;
  111.             case(@filechk(NEWFILE),
  112.                 {Yes},
  113.                 {
  114.                 SNDMSG({kaknin_f.snd});
  115.                 footnote({ファイル複写  }|
  116.                         OLDFILE|{ -> }|NEWFILE);
  117.                 select    ({複写先のファイルに上書き}|
  118.                         {してもいいですか?},
  119.                     Wtime4,,
  120.                     { は い },
  121.                     {command({copy }|OLDFILE|{ }|NEWFILE)},
  122.                     { いいえ },
  123.                     );
  124.                 },
  125.                 {No},{command({copy }|OLDFILE|{ }|NEWFILE)}
  126.                 );
  127.             im({Yes});
  128.             });});};
  129. /*    ファイル移動    */
  130. %MOVE    {
  131.     %FILEsel2{
  132.         SNDMSG({erande_f.snd});
  133.         footnote({移動先のディレクトリへ移動し右クリックして下さい  移動元=}|
  134.                 OLDFILE);
  135.         filesel;NEWDIR:=@getcdir;
  136.         case(@nochar(NEWDIR)==3,
  137.             {Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
  138.             {No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
  139.         };
  140.     loop    ({
  141.         case(@FILEsel1({移動元のファイルを指定して下さい},)={},
  142.             {Yes},{im({No})},
  143.             {No},
  144.             {
  145.             FILEsel2;
  146.             var    fileno    [3];
  147.             case(@wild(OLDFILE),
  148.                 {No},
  149.                 {case    (@filechk(NEWFILE),
  150.                     {Yes},
  151.                     {
  152.                     SNDMSG({kaknin_f.snd});
  153.                     footnote({ファイル移動  }|
  154.                         OLDFILE|{ -> }|NEWFILE);
  155.                     select    ({移動先のファイルに上書き}|
  156.                         {してもいいですか?},
  157.                         Wtime4,,
  158.                         { は い },{fileno:={1}},
  159.                         {  いいえ  },{fileno:={0}});
  160.                     },
  161.                     {No},{fileno:={1}});
  162.                 },
  163.                 {Yes},{NEWFILE:=@body(NEWFILE,,{\})|{\*.*};
  164.                     fileno:={n}}
  165.                 );
  166.             case(fileno,
  167.                 {1},
  168.                 {
  169.                 command({del }|TEMP2|{_moptemp.tmp});
  170.                 command({copy }|OLDFILE|{ }|NEWFILE|
  171.                     { > }|TEMP2|{_moptemp.tmp});
  172.                 case    (@read(TEMP2|{_moptemp.tmp}),
  173.                     {        1 個のファイルを}|
  174.                     {コピーしました.\n},
  175.                     {command({del }|OLDFILE)});
  176.                 },
  177.                 {n},
  178.                 {
  179.                 command({del }|TEMP2|{_moptemp.tmp});
  180.                 command({copy }|OLDFILE|{ }|NEWFILE|
  181.                     { > }|TEMP2|{_moptemp.tmp});
  182.                 var    N    [4];
  183.                 N:=0;
  184.                 loop    ({
  185.                     N:=N+1;
  186.                     %f1 @read(TEMP2|{_moptemp.tmp},N,1);
  187.                     case(@tail(f1,{個のファイルを}),
  188.                         {コピーしました.\n},
  189.                         {im({No})},
  190.                         ,
  191.                         {
  192.                         case(@head(f1,{\n})<>
  193.                         TEMP2|{_MOPTEMP.TMP},
  194.                         {Yes},
  195.                         {command({del }|
  196.                             @head(f1,{\n}))});
  197.                         im({Yes});
  198.                         });});
  199.                 },
  200.                 {0},
  201.                 );
  202.             im({Yes});
  203.             });});};
  204. /*    ファイル名変更    */
  205. %RENAME    {
  206.     %FILEsel2{
  207.         SNDMSG({nyuryo_f.snd});
  208.         footnote({新ファイル名を入力して下さい  旧ファイル名=}|OLDFILE);
  209.         NEWFILE:=@input({新ファイル名を入力して下さい},,@tail(OLDFILE,{\}));
  210.         im(NEWFILE);
  211.         };
  212.     loop    ({
  213.         case(@FILEsel1({ファイル名を変更するファイルを}|
  214.                     {指定して下さい},)={},
  215.             {Yes},{im({No})},
  216.             {No},
  217.             {
  218.             case(@FILEsel2={},
  219.                 {Yes},{im({No})},
  220.                 {No},
  221.                 {
  222.                 footnote({ファイル名変更  }|
  223.                         OLDFILE|{ -> }|NEWFILE);
  224.                 command({ren }|OLDFILE|{ }|NEWFILE);
  225.                 im({Yes});
  226.                 });});});};
  227. /*    ファイル削除    */
  228. %DELETE    {
  229.     loop    ({
  230.         case(@FILEsel1({削除するファイルを指定して下さい},)={},
  231.             {Yes},{im({No})},
  232.             {No},
  233.             {
  234.             SNDMSG({kaknin_f.snd});
  235.             footnote({ファイル削除  }|OLDFILE);
  236.             select    (OLDFILE|{を削除してもいいですか?},
  237.                 Wtime4,,
  238.                 { は い },
  239.                 {case    (@tail(OLDFILE,{\})={*.*},
  240.                     {Yes},{command({echo y|del }|OLDFILE)},
  241.                     {No},{command({del }|OLDFILE)})},
  242.                 { いいえ },
  243.                 );
  244.             im({Yes});
  245.             });});};
  246. /*    全ファイル削除    */
  247. %DELall    {
  248.     SNDMSG({erande_f.snd});
  249.     footnote({全ファイル削除するディレクトリへ移動して}|
  250.             {右クリックして下さい});
  251.     filesel;OLDDIR:=@getcdir;SNDMSG({kaknin_f.snd});
  252.     case(@nochar(OLDDIR)==3,
  253.         {Yes},{footnote({全ファイル削除  }|OLDDIR|{*.*})},
  254.         {No},{footnote({全ファイル削除  }|OLDDIR|{\*.*})});
  255.     select    (OLDDIR|{の全ファイルを削除してもいいですか?},
  256.         Wtime4,,
  257.         { は い },
  258.         {setcdir(OLDDIR);command({echo y|del *.*})},
  259.         { いいえ },
  260.         );};
  261. /*    ファイル一覧表示    */
  262. %DIR    {
  263.     loop    ({
  264.         case(@FILEsel1({一覧表示するファイルを指定してください  },)={},
  265.             {Yes},
  266.             {
  267.             OLDDIR:=@getcdir;SNDMSG({kaknin_f.snd});
  268.             footnote({ファイル一覧表示  }|OLDDIR);
  269.             select    (OLDDIR|{の全ファイル一覧表示ですか?},
  270.                 Wtime4,,
  271.                 {全ファイル一覧表示},
  272.                 {
  273.                 command({dir }|OLDDIR);
  274.                 loop    ({
  275.                     footnote({終了},{b});
  276.                     waitx();
  277.                     case(@xtype,101,{im({No})},
  278.                         201,{im({No})},,{im({Yes})});
  279.                     });
  280.                 im({Yes});
  281.                 },
  282.                 {     取    消     },
  283.                 );
  284.             },
  285.             {No},
  286.             {
  287.             footnote({ファイル一覧表示  }|OLDFILE);
  288.             command({dir }|OLDFILE);
  289.             loop    ({
  290.                 footnote({終了},{b});
  291.                 waitx();
  292.                 case    (@xtype,
  293.                     101,{im({No})},201,{im({No})},
  294.                     ,{im({Yes})});
  295.                 });
  296.             im({Yes});
  297.             });});};
  298.  
  299. /*    ファイル編集    */
  300. %EDIT    {
  301.     [flag]
  302.     var memono[1];
  303.     %FILEsel2{
  304.         [MSG,TYP]
  305.         SNDMSG({erande_f.snd});footnote(MSG);
  306.         case(TYP={},
  307.             {Yes},{NEWFILE:=@filesel},
  308.             {No},{NEWFILE:=@filesel(TYP)});
  309.         case(NEWFILE={},{Yes},{im({})},
  310.             {No},{
  311.             case(@wild(NEWFILE),
  312.                 {Yes},{
  313.                 display({ワイルドカード指定はできません\n});
  314.                 FILEsel2(MSG,TYP);
  315.                 },
  316.                 {No},{
  317.                 case(@nochar(@getcdir)==3,
  318.                     {Yes},{NEWFILE:=@getcdir|NEWFILE},
  319.                     {No},{NEWFILE:=@getcdir|{\}|NEWFILE});
  320.                 im(NEWFILE);
  321.                 })})};
  322.     %save    {
  323.         footnote({メモ}|memono|{を保存します});
  324.         %file    @FILEsel2({保存ファイル名を指定してください},);
  325.         case    (file<>{},
  326.             {Yes},{
  327.             CloseAllMemo;delfile(file);mwrite(file,memono);
  328.             mopen(memono);mclose(3);im({No});
  329.             },
  330.             {No},{im({Yes})}
  331.             )};
  332.     %update{
  333.         footnote(OLDFILE|{を更新しています});
  334.         CloseAllMemo;delfile(OLDFILE);
  335.         mwrite(OLDFILE,memono);mopen(memono);mclose(3);im({No})
  336.         };
  337.     %cancel    {
  338.         SNDMSG({kaknin_f.snd});footnote({文書編集を取消しますか?});
  339.         select({文書編集を取消しますか?},
  340.             Wtime4,{footnote({});im({Yes})},
  341.             {  は  い  },
  342.             {
  343.             CloseAllMemo;delfile(TEMP2|{_mopmemo.bak});
  344.             mwrite(TEMP2|{_mopmemo.bak},memono);
  345.             mopen(memono);mclose(3);footnote({});im({No});
  346.             },
  347.             {  いいえ  },{footnote({});im({Yes})}
  348.             )};
  349.     %rewrite{
  350.         footnote({編集中のメモ内容を清書しています});
  351.         CloseAllMemo;%cdir @getcdir;setcdir(CDIR);
  352.         delfile(TEMP2|{_moptext.tmp});
  353.         delfile(TEMP2|{_moptext.new});
  354.         mwrite(TEMP2|{_moptext.tmp},memono);
  355.          command({txf -f -i }|TEMP2|{_moptext.tmp}|
  356.                 { -o }|TEMP2|{_moptext.new});
  357.         case(@filechk(TEMP2|{_moptext.new}),
  358.             {Yes},{
  359.             mclear(memono);mread(TEMP2|{_moptext.new},memono);
  360.             mopen(memono,0,21,639,459,{w});
  361.             },
  362.             {No},{
  363.             display({清書機能には TXF.EXE がパスの通った}|
  364.                     {ディレクトリに必要です\n});
  365.             wait(2);mopen(memono,0,21,639,459,{w});
  366.             });
  367.         setcdir(cdir);im({Yes});
  368.         };
  369.     %MEMONO    @mlast;
  370.     case    (MEMONO==9,
  371.         {Yes},{
  372.         footnote({メモ9を利用してファイル編集を行います});
  373.         SNDMSG    ({kaknin_f.snd});
  374.         select    ({メモ9を利用してファイル編集を行います},
  375.             Wtime4,{memono:=0},
  376.             { は い },{memono:=9},{ いいえ },{memono:=0});
  377.         },
  378.         {No},{memono:=MEMONO+1});
  379.     case    (memono>0&&flag==1,
  380.         {Yes},{
  381.         loop    ({
  382.             CloseAllMemo;
  383.             case    (@FILEsel0({編集するファイルを選択}|
  384.                         {してください},)<>{},
  385.                 {Yes},{
  386.                 mclear(memono);mread(OLDFILE,memono);
  387.                 mopen(memono,0,21,639,459,{w});
  388.                 loop    ({
  389.                     footnote({更新取消清書UPLD},{b});
  390.                     waitx();
  391.                     case    (@xtype,
  392.                         101,update,    201,update,
  393.                         102,cancel,    202,cancel,
  394.                         103,rewrite,    203,rewrite,
  395.                         104,{UP1(memono)},
  396.                         204,{UP1(memono)},
  397.                         ,{im({Yes})});
  398.                     });
  399.                 im({Yes});
  400.                 },
  401.                 {No},{im({No})}
  402.                 )});
  403.         },
  404.         {No},{    /* 新規ファイル編集の場合 */
  405.         case(memono>0,
  406.             {Yes},{
  407.             CloseAllMemo;madd(memono,{\n});    mclear(memono);
  408.             mopen(memono,0,21,639,459,{w});
  409.             loop    ({
  410.                 footnote({保存取消清書UPLD},{b});waitx();
  411.                 case    (@xtype,
  412.                     101,save,201,save,
  413.                     102,cancel,202,cancel,
  414.                     103,rewrite,203,rewrite,
  415.                     104,{UP1(memono)},204,{UP1(memono)},
  416.                     ,{im({Yes})}
  417.                     )})})})};
  418. /*    オートアップロード制御ファイル作成処理    */
  419. %UP1    {
  420.     [memono]
  421.     %up2    {
  422.         footnote({メモの保存を行いますか?});SNDMSG({erande_f.snd});
  423.         select    ({メモの保存をおこないますか?},
  424.             Wtime4,{im({Yes})},
  425.             {ファイルに保存して終了},{save},
  426.             {ファイルに保存せずに終了},
  427.             {CloseAllMemo;mopen(memono);mclose(3);im({No})},
  428.             {    編集画面に戻る    },{im({Yes})}
  429.             )};
  430.     footnote({アップロード先は?});SNDMSG({erande_f.snd});
  431.     select    ({アップロード先は?},
  432.         Wtime4,{im({Yes})},
  433.         { テキストメール },{AUTOmail;up2},
  434.         {   ボード       },{AUTOforum;up2},
  435.         {シスオペ宛メール},{AUTOsmail;up2},
  436.         {  プロフィール  },{AUTOprof;up2},
  437.         {    取    消    },{im({Yes})}
  438.         )};
  439. /*    テキストメールアップ制御文作成    */
  440. %AUTOmail{
  441.     footnote({テキストメール送信制御文作成});
  442.     var mail[127];var title[40];var date[6];var ok[2];
  443.     loop    ({
  444.         SNDMSG({nyuryo_f.snd});
  445.         %a    @plane(    {cテキストメール送信\n}|
  446.                 {t  送信先ID  /\n}|
  447.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  448.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  449.                 {t 送信日付指定 /xxxxxx\n}|
  450.                 {s              / 登録 / 取消 \n},
  451.                 mail,title,date);
  452.         mail:=    @head(@getline(a,1,1),{\n});
  453.         title:=    @head(@getline(a,2,1),{\n});
  454.         date:=    @head(@getline(a,3,1),{\n});
  455.         ok:=    @head(@getline(a,4,1),{\n});
  456.         });
  457.     case    (ok==1,{Yes},{
  458.         %file    @crefile(UP,{UP});CloseAllMemo;
  459.         mwrite(UP2|file,memono);mopen(memono,0,21,639,459,{w});
  460.         %cntl    {mail=}|mail|{;}|{date=}|date|{;}|
  461.             {file=}|UP2|file|{;}|{title=}|title;
  462.         write(UP2|{_mopres.ctl},cntl|{\n});
  463.         })};
  464. /*    ボード書き込み制御文作成    */
  465. %AUTOforum{
  466.     footnote({ボードへの発言制御文作成});
  467.     var forum[8];var mes[3];var reply[4];var title[40];var ok[2];
  468.     loop    ({
  469.         SNDMSG({nyuryo_f.snd});
  470.         %a    @plane(    {cボードへの新規発言\n}|
  471.                 {t ネット名 /xxxxxxxx\n}|
  472.                 {t  ボード番号  /xxx\n}|
  473.                 {tコメント元番号/xxxx\n}|
  474.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  475.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  476.                 {s              / 登録 / 取消 \n},
  477.                 NET,mes,reply,title);
  478. forum:=    @head(@getline(a,1,1),{\n});    mes:=    @head(@getline(a,2,1),{\n});
  479. reply:=    @head(@getline(a,3,1),{\n});    title:=    @head(@getline(a,4,1),{\n});
  480. ok:=    @head(@getline(a,5,1),{\n});
  481.         });
  482.     case    (ok==1,{Yes},{
  483.         %file    @crefile(UP,{UP});CloseAllMemo;
  484.         mwrite(UP2|file,memono);mopen(memono,0,21,639,459,{w});
  485.         %cntl    {forum=}|forum|{;}|{mes=}|mes|{;}|{reply=}|reply|{;}|
  486.             {file=}|UP2|file|{;}|{title=}|title;
  487.         write(UP2|{_mopres.ctl},cntl|{\n});
  488.         })};
  489. /*    シスオペ宛メールアップ制御文作成    */
  490. %AUTOsmail{
  491.     footnote({シスオペ宛メール送信制御文作成});
  492.     var forum[8];var title[40];var ok[2];
  493.     loop    ({
  494.         SNDMSG({nyuryo_f.snd});
  495.         %a    @plane(    {cシスオペ宛メール送信\n}|
  496.                 {t ネット名 /xxxxxxxx\n}|
  497.                 {t   タイトル   /xxxxxxxxxxxxxxxxxxxx}|
  498.                         {xxxxxxxxxxxxxxxxxxxx\n}|
  499.                 {s              / 登録 / 取消 \n},
  500.                 forum,title);
  501.     forum:=@head(@getline(a,1,1),{\n});title:=@head(@getline(a,2,1),{\n});
  502.         ok:=@head(@getline(a,3,1),{\n});
  503.         });
  504.     case    (ok==1,{Yes},{
  505.         %file    @crefile(UP,{UP});CloseAllMemo;
  506.         mwrite(UP2|file,memono);mopen(memono,0,21,639,459,{w});
  507.         %cntl    {sysmail=}|forum|{;}|{file=}|UP2|file|{;}|
  508.             {title=}|title;
  509.         write(UP2|{_mopres.ctl},cntl|{\n});
  510.         })};
  511. /*    プロフィール情報書き込み制御文作成    */
  512. %AUTOprof{
  513.     footnote({プロフィール情報登録制御文作成});
  514.     var ok[2];
  515.     loop    ({
  516.         %a    @plane(    {cプロフィール情報登録\n}|
  517.                 {s              / 登録 / 取消 \n}
  518.                 );
  519.         ok:=    @head(@getline(a,1,1),{\n});
  520.         });
  521.     case    (ok==1,{Yes},{
  522.         %file    @crefile(UP,{UP});CloseAllMemo;
  523.         mwrite(UP2|file,memono);mopen(memono,0,21,639,459,{w});
  524.         %cntl    {profile=}|{;}|{file=}|UP2|file|{;};
  525.         write(UP2|{_mopres.ctl},cntl|{\n});
  526.         })};
  527. /*    NAPLPSファイル表示    */
  528. %NAPLPS    {
  529.     loop    ({
  530.         case(@FILEsel0({NAPLPSデータファイルを指定して下さい},{NPB})
  531.                 ={},
  532.             {Yes},{im({No})},
  533.             {No},
  534.             {
  535.             footnote({NAPLPSファイル表示  }|OLDFILE);
  536.             naplps(OLDFILE);
  537.             loop    ({
  538.                 footnote({終了},{b});waitx();
  539.                 case(@xtype,101,{napend;im({No});},
  540.                     201,{napend;im({No});},,{im({Yes})});
  541.                 });
  542.             im({Yes});
  543.             });
  544.         });
  545.     };
  546. /*    ファイル応用操作    (lha,ish,diet)    */
  547. /*    ファイル凍結    */
  548. %LHAarc    {
  549.     %FILEsel2{
  550.         SNDMSG({nyuryo_f.snd});
  551.         footnote({書庫ファイル名を入力して下さい  元ファイル=}|OLDFILE);
  552.         NEWFILE:=@filesel({LZH});NEWDIR:=@getcdir;
  553.         case(NEWFILE<>{},
  554.             {Yes},{case(@nochar(NEWDIR)==3,
  555.                 {Yes},{NEWFILE:=NEWDIR|NEWFILE},
  556.                 {No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
  557.         im(NEWFILE);
  558.         };
  559.  
  560.     loop    ({
  561.         case(@FILEsel1({圧縮凍結するファイルを指定して下さい},)={},
  562.             {Yes},{im({No})},
  563.             {No},
  564.             {
  565.             case(@FILEsel2={},{Yes},{im({No})},
  566.                 {No},
  567.                 {
  568.                 footnote({ファイル圧縮凍結処理中  }|
  569.                         OLDFILE|{ -> }|NEWFILE);
  570.                 command({lha u }|NEWFILE|{ }|OLDFILE);
  571.                 im({Yes});
  572.                 });
  573.             });
  574.         });
  575.     };
  576.  
  577. /*    ファイル解凍    */
  578. %LHAext    {
  579.     %FILEsel2{
  580.         SNDMSG({erande_f.snd});
  581.         footnote({解凍先のディレクトリへ移動し右クリックして下さい  解凍元=}|
  582.                 OLDFILE);
  583.         %dmy    @filesel;NEWDIR:=@getcdir;
  584.         case(@nochar(NEWDIR)==3,
  585.             {Yes},{NEWFILE:=NEWDIR|@tail(OLDFILE,{\})},
  586.             {No},{NEWFILE:=NEWDIR|{\}|@tail(OLDFILE,{\})});
  587.         };
  588.  
  589.     loop    ({
  590.         case(@FILEsel0({解凍する *.LZH ファイルを指定して下さい},{LZH})
  591.                 ={},
  592.             {Yes},{im({No})},
  593.             {No},
  594.             {
  595.             FILEsel2;footnote({ファイル解凍処理中  }|OLDFILE);
  596.             command({lha x }|OLDFILE);im({Yes});
  597.             });
  598.         });
  599.     };
  600.  
  601. /*    凍結ファイル内容表示    */
  602. %LHAlst    {
  603.     loop    ({
  604.         case(@FILEsel0({内容表示する *.LZH ファイルを}|
  605.                 {指定して下さい},{LZH})={},
  606.             {Yes},{im({No})},
  607.             {No},
  608.             {
  609.             footnote({凍結ファイル内容表示中  }|OLDFILE);
  610.             command({lha l }|OLDFILE);im({Yes});
  611.             });
  612.         });
  613.     };
  614.  
  615. /*    ファイル石化    */
  616. %ISHstr    {
  617.     loop    ({
  618.         case(@FILEsel1({*.ISH ファイルに変換するファイルを}|
  619.                 {指定して下さい},)={},
  620.             {Yes},{im({No})},
  621.             {No},
  622.             {
  623.             case(OLDFILE={},{Yes},{im({No})},
  624.                 {No},
  625.                 {
  626.                 footnote({ISHファイル変換処理中  }|OLDFILE);
  627.                 command({ish }|OLDFILE|{ /ss});im({Yes});
  628.                 });
  629.             });
  630.         });
  631.     };
  632.  
  633. /*    ファイル解石    */
  634. %ISHres    {
  635.     loop    ({
  636.         case(@FILEsel1({復元する *.ISH ファイルを指定して下さい},{ISH})
  637.                 ={},
  638.             {Yes},{im({No})},
  639.             {No},
  640.             {
  641.             case(OLDFILE={},{Yes},{im({No})},
  642.                 {No},
  643.                 {
  644.                 footnote({ISHファイル復元処理中  }|OLDFILE);
  645.                 command({ish }|OLDFILE|{ /r});im({Yes});
  646.                 });
  647.             });
  648.         });
  649.     };
  650.  
  651. /*    ダイエット処理    */
  652. %DIETarc{
  653.     loop    ({
  654.         case(@FILEsel1({ダイエットするファイルを指定して下さい},)={},
  655.             {Yes},{im({No})},
  656.             {No},
  657.             {
  658.             case(OLDFILE={},{Yes},{im({No})},
  659.                 {No},
  660.                 {
  661.                 footnote({ダイエット処理中  }|OLDFILE);
  662.                 command({diet }|OLDFILE);im({Yes});
  663.                 });
  664.             });
  665.         });
  666.     };
  667.  
  668. /*    ダイエットファイル復元    */
  669. %DIETres{
  670.     loop    ({
  671.         case(@FILEsel1({復元するダイエットファイルを}|
  672.                     {指定して下さい},)={},
  673.             {Yes},{im({No})},
  674.             {No},
  675.             {
  676.             case(OLDFILE={},{Yes},{im({No})},
  677.                 {No},
  678.                 {
  679.                 footnote({ダイエットファイル復元処理中  }|
  680.                         OLDFILE);
  681.                 command({diet -ra }|OLDFILE);im({Yes});
  682.                 });
  683.             });
  684.         });
  685.     };
  686.  
  687. /*    差分ファイル作成処理    */
  688. %BDIFF    {
  689.     %FILEsel2{
  690.         SNDMSG({nyuryo_f.snd});
  691.         footnote({新ファイル名を入力して下さい  旧ファイル=}|OLDFILE);
  692.         NEWFILE:=@filesel;NEWDIR:=@getcdir;
  693.         case(NEWFILE<>{},
  694.             {Yes},{case(@nochar(NEWDIR)==3,
  695.                 {Yes},{NEWFILE:=NEWDIR|NEWFILE},
  696.                 {No},{NEWFILE:=NEWDIR|{\}|NEWFILE})});
  697.         im(NEWFILE);
  698.         };
  699.  
  700.     loop    ({
  701.         case(@FILEsel0({差分を作成する旧ファイルを指定して下さい},)={},
  702.             {Yes},{im({No})},
  703.             {No},
  704.             {
  705.             case(@FILEsel2={},{Yes},{im({No})},
  706.                 {No},
  707.                 {
  708.                 footnote({ファイル差分作成処理中  }|
  709.                         OLDFILE|{ -> }|NEWFILE);
  710.                 command({BDIFF }|OLDFILE|{ }|NEWFILE);
  711.                 im({Yes});
  712.                 });
  713.             });
  714.         });
  715.     };
  716.  
  717. /*    差分ファイル復元処理    */
  718. %BUPDATE{
  719.     loop    ({
  720.         case(@FILEsel0({差分ファイルを指定して下さい},{BDF})={},
  721.             {Yes},{im({No})},
  722.             {No},
  723.             {
  724.             footnote({ファイル差分更新処理中  差分ファイル=}|OLDFILE);
  725.             command({BUPDATE }|OLDFILE);im({Yes});
  726.             });
  727.         });
  728.     };
  729. /*    ファイル基本操作の選択    */
  730. %FILEman1{
  731.     loop    ({
  732.         SNDMSG({erande_f.snd});
  733.         footnote({ファイル基本操作の処理を選択して下さい});
  734.         select({ファイル基本操作メニュー},
  735.             Wtime4,{im({No})},
  736.             {ファイル表示     -type(more)},{DISPLAY;im({Yes})},
  737.             {ファイル複写     -copy      },{COPY;im({Yes})},
  738.             {ファイル移動     -copy&del  },{MOVE;im({Yes})},
  739.             {ファイル名変更   -rename    },{RENAME;im({Yes})},
  740.             {ファイル削除     -del       },{DELETE;im({Yes})},
  741.             {全ファイル削除   -del *.*   },{DELall;im({Yes})},
  742.             {ファイル一覧表示 -dir       },{DIR;im({Yes})},
  743.             {        終       了         },{im({No})});
  744.         });
  745.     };
  746.  
  747.  
  748. /*    ファイル応用操作の選択    */
  749. %FILEman2{
  750.     loop    ({
  751.         SNDMSG({erande_f.snd});
  752.         footnote({ファイル応用操作の処理を選択して下さい});
  753.         select({ファイル応用操作メニュー},
  754.             Wtime4,{im({No})},
  755.             {ファイル圧縮凍結 >LHA u    },{LHAarc;im({Yes})},
  756.             {ファイル解凍     >LHA x    },{LHAext;im({Yes})},
  757.             {凍結ファイル一覧 >LHA l    },{LHAlst;im({Yes})},
  758.             {ファイル石化     >ISH /s   },{ISHstr;im({Yes})},
  759.             {ファイル解石     >ISH /r   },{ISHres;im({Yes})},
  760.             {ファイル圧縮     >DIET     },{DIETarc;im({Yes})},
  761.             {ファイル復元     >DIET -ra },{DIETres;im({Yes})},
  762.             {ファイル差分作成 >BDIFF    },{BDIFF;im({Yes})},
  763.             {ファイル差分更新 >BUPDATE  },{BUPDATE;im({Yes})},
  764.             {        終       了        },{im({No})});
  765.         });
  766.     };
  767.  
  768. /************************************************************************
  769. *    ファイル操作メインメニュー                    *
  770. *************************************************************************/
  771. /*    設定する情報の選択    */
  772. %DORAFILE{
  773.     loop    ({
  774.         SNDMSG({erande_f.snd});
  775.         footnote({ファイル編集を選択して下さい});
  776.         select    ({ファイル編集メインメニュー},
  777.             Wtime4,{im({No})},
  778.             {   ファイル基本操作       },{FILEman1;im({Yes})},
  779.             {   既存ファイル編集       },{EDIT(1); im({Yes})},
  780.             {   新規ファイル編集       },{EDIT(0); im({Yes})},
  781.             {   NAPLPS表示 -     },{NAPLPS;im({Yes})},
  782.             { 応用操作(lha,ish,diet,bdiff) },{FILEman2;im({Yes})},
  783.             {     終        了         },{im({No})}
  784.             )})};
  785. /*    作業領域定義    */
  786. var    OLDFILE    [64];var    NEWFILE    [64];
  787. var    OLDDIR    [64];var    NEWDIR    [64];
  788. /*    実行文    */
  789. DORAFILE;